package com.handsome.单例模式;

/**
 * 饿汉式（静态常量）
 * 优点：写法简单，在类加载时就完成实例化。避免了线程同步问题
 * 缺点：在类加载时就完成实例化，如果自始至终从未使用过这个类那么会造成资源浪费
 * @author niechun
 * @date 2023/1/7 20:47
 */
public class SingletonHungry01 {

    public static void main(String[] args) {
        SingletonHungryTest01 instance1 = SingletonHungryTest01.getInstance();
        SingletonHungryTest01 instance2 = SingletonHungryTest01.getInstance();

        System.out.println(instance1==instance2);
        System.out.println("instance1的hashCode"+instance1.hashCode());
        System.out.println("instance2的hashCode"+instance2.hashCode());
    }
}

class SingletonHungryTest01 {
    //私有化构造方法
    private SingletonHungryTest01() {
    }
    //本类内部创建对象实例
    private final static SingletonHungryTest01 instance = new SingletonHungryTest01();
    //提供一个共有的静态方法返回对象实例
    public static SingletonHungryTest01 getInstance() {
        return instance;
    }

}
